AION
Vision Hub · Nombre de empresa de seguridad S.A.S.
— MANUAL DE ADMINISTRADOR Y TI

Desplegar y
administrar AION.

Guía técnica de referencia: arquitectura de servicios, despliegue, modelo multi-tenant con RLS, roles y permisos, video RTSP, integraciones, monitoreo de salud, respaldo y cumplimiento.

Versiónv3.2.0 · 2026.05
AudienciaAdministrador · TI · DevOps
StackFastify · PostgreSQL · Redis
AION · Manual de Administrador y TI · v3.2.0aionseg.co
Confidencial · Técnico
AION
Manual de Administrador y TI
1 · ArquitecturaADM-01
SECCIÓN 1

Arquitectura de servicios

AION es una plataforma de servicios desacoplados. El plano de control (API) orquesta video, sensores, telefonía e IA por sede, con aislamiento multi-tenant.

PostgreSQL
datos + RLS multi-tenant
Redis
caché + colas + pub/sub
n8n
automatización / reglas
go2rtc / MediaMTX
RTSP → WebRTC/HLS
MQTT
sensores IoT
Asterisk
SIP · citofonía
face_recognition
reconocimiento facial
hik_bridge (ISAPI)
cámaras Hikvision
edge-gateway
enlace por sede · VPN
Cada sede se conecta por un edge-gateway sobre VPN. El video nunca expone el SDK del fabricante: el flujo es RTSP (554) → go2rtc/MediaMTX y desde ahí WebRTC/HLS al navegador.
AION · Administrador y TI · 1. Arquitecturaaionseg.co · [email protected]
Confidencial · Técnico
AION
Manual de Administrador y TI
2 · DespliegueADM-02
SECCIÓN 2

Despliegue

Orquestación por contenedores. Las variables sensibles se inyectan por entorno; nunca se versionan.

infra · puesta en marcha# 1 · clonar y configurar entorno git clone [email protected]:platform/aionseg-platform.git cp .env.example .env # editar secretos: DB, REDIS, JWT, SIP… # 2 · levantar servicios base docker compose up -d postgres redis go2rtc mosquitto asterisk # 3 · migraciones + RLS + semillas npm run db:migrate && npm run db:seed # 4 · API + workers docker compose up -d api worker n8n

Requisitos por componente

ComponenteMínimoPuertoNotas
API (Fastify)2 vCPU · 4 GB:8080tras reverse proxy TLS
PostgreSQL4 vCPU · 8 GB · SSD:5432RLS activo; backups diarios
Redis1 vCPU · 2 GB:6379colas + pub/sub
go2rtc/MediaMTX4 vCPU · 8 GB:8554/:1984ingesta RTSP 554; salida WebRTC
Asterisk2 vCPU · 4 GB:5060SIP citofonía
face_recognitionGPU recom.:8090cola por lotes
Video: ingiere por RTSP en el puerto 554 hacia go2rtc/MediaMTX. No uses el puerto del SDK propietario (8000); queda fuera del modelo soportado y rompe el reencode a WebRTC.
AION · Administrador y TI · 2. Despliegueaionseg.co · [email protected]
Confidencial · Técnico
AION
Manual de Administrador y TI
3 · Multi-tenant + RolesADM-03
SECCIÓN 3

Aislamiento y roles

Cada propiedad es un tenant. El aislamiento se garantiza en la base de datos con Row-Level Security (RLS), no solo en la aplicación.

postgresql · política RLS por tenantALTER TABLE events ENABLE ROW LEVEL SECURITY; CREATE POLICY tenant_isolation ON events USING (site_id = current_setting('app.site_id')::uuid); -- la API fija app.site_id por sesión tras autenticar

Matriz de roles y permisos

CapacidadGuardiaOperadorSupervisorAdmin
App móvil (ronda, minuta, pánico)
Monitoreo · cámaras · eventos
Acciones sensibles (portón, sirena)candado
Bloqueo total · simulacrosregistrado
Usuarios · roles · configuración
Auditoría · retención · backupslectura
Toda acción se escribe en el registro de auditoría (actor, rol, recurso, resultado, timestamp ISO). Retención: 5 años. Exportable en CSV desde la UI o vía GET /audit.
AION · Administrador y TI · 3. Rolesaionseg.co · [email protected]
Confidencial · Técnico
AION
Manual de Administrador y TI
4 · Salud · 5 · APIADM-04/05
SECCIÓN 4

Monitoreo de salud

El endpoint GET /health/detailed devuelve el estado de cada dependencia. La UI (panel de salud y «Salud por Sede») lo consume en vivo.

GET /health/detailed → 200{ "status": "degraded", "checks": { "postgresql": { "ok": true, "ms": 3 }, "redis": { "ok": true, "ms": 1 }, "go2rtc": { "ok": true, "ms": 14 }, "mqtt": { "ok": true, "ms": 6 }, "asterisk": { "ok": true, "ms": 22 }, "face_recognition": { "ok": true, "ms": 38 }, "hik_bridge": { "ok": false, "error": "timeout" } } }
SECCIÓN 5

Endpoints frecuentes

Método · rutaFunción
POST /minutaCrear entrada de minuta
POST /minuta/close-shiftCierre de turno (dry-run → confirm)
GET /minuta/handoversHistorial de relevos firmados
GET /cameras · GET /lprInventario de cámaras · lecturas ANPR
GET /automation/rulesReglas de automatización (n8n)
POST /copilot/chatComando IA en lenguaje natural
GET /health/detailed · GET /auditSalud del sistema · registro de auditoría
El catálogo completo (34 endpoints, parámetros y ejemplos) está en el documento «API Reference» del paquete AION.
AION · Administrador y TI · 4–5aionseg.co · [email protected]
Confidencial · Técnico
AION
Manual de Administrador y TI
6 · Respaldo + RunbookADM-06
SECCIÓN 6

Respaldo y cumplimiento

Retención video
30 días en caliente · archivado según contrato por sede
Retención eventos
1 año en base de datos
Retención auditoría
5 años · inmutable
Backups DB
completo diario + WAL continuo · restauración punto-en-tiempo
Cifrado
TLS en tránsito · cifrado en reposo (DB + objetos)
Marco
ISO/IEC 27001 · SOC 2 Type II · Ley 1581 (Habeas Data) · NTC 5254

Runbook · incidencias comunes

SíntomaCausa probableAcción
Cámara «sin señal»RTSP caído / red de sedeVerificar edge-gateway y reintentos go2rtc; reiniciar canal
hik_bridge en rojoISAPI inalcanzableRevisar credenciales/host Hikvision; failover a snapshot
Latencia VPN altaEnlace de sede saturadoPriorizar QoS de video; abrir ticket al ISP
Citófono sin audioSIP/AsteriskVerificar registro de extensión; revisar NAT/puertos
Cola IA atrasadaPico de reconocimientoEscalar workers; revisar GPU de face_recognition
Antes de cualquier mantenimiento mayor: notifica a las salas activas, valida backups recientes y programa la ventana fuera de horarios de ronda pico (02–04 h).
AION · Administrador y TI · v3.2.0aionseg.co · [email protected]